It is desirable to control current and voltage applied to a fuel injector solenoid of an engine. For example, a boosted voltage of fifty to sixty-five Volts (50V-65V) may be applied to open the injector quickly, and then a lower voltage of ten to sixteen Volts (10V-16V) may be used to control injector current to keep the injector open. In order to meet future reduced engine emission regulations, more advanced and flexible injector current control techniques are required. For example, an initial low current level (e.g. pre-charge) may be applied prior to injector opening to reduce the opening time and the amount of boost energy required. Intermediate current levels between peak and hold may also be used. Some applications vary the injector current levels depending upon vehicle or engine conditions such as the available system voltage, estimated cylinder pressure, or angle of injection. Gaseous fuel injectors require additional control pulses to reduce the closing forces. Similar requirements are present for high-pressure fuel pump solenoids. All of these advanced control techniques require the ability to easily define and vary the solenoid control waveforms.
Existing solutions typically require constant intervention by a microprocessor to update the desired solenoid control voltages and currents. If multiple fuel pulses per cylinder event are needed, updating control parameters between these pulses places an undue throughput burden on the microprocessor and may not even be feasible due to timing constraints.